home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / comm / bbs / amms20d.lha / amms / mbbatch / com / zconnect_download < prev    next >
Text File  |  1995-08-16  |  6KB  |  267 lines

  1. ;    ZConnect-Server
  2. ;
  3. ;    Scriptfile zum Senden neuer Nachrichten im ZConnect-Format
  4. ;
  5. ;    $VER: 1.00 / 16.08.1995
  6. ;
  7. ;       Beschreibung :
  8. ;    Neue Daten im ZConnect-Puffer senden.
  9. ;    Die zu sendenen Daten werden im Directory MBMSG:POINT/<Portname>/
  10. ;    temporaer gespeichert.
  11. ;    Stehen im Directory MBNET:EXPORT/ die Dateien <USERNAME>.LHA,
  12. ;    <USERNAME>.MSGNR und <USERNAME>.PMNR, so werden nicht die neusten
  13. ;    Nachrichten und Files aktuell exportiert und gepackt, sondern diese
  14. ;    vorgepackten Daten benutzt.
  15. ;    
  16. ;
  17. ;    Das Script sollte so eingebunden werden, dass es ueber Flags
  18. ;    auf die folgende Befehle zugreifen kann !
  19. ;
  20. ;    ADD EVENT
  21. ;    CHECK FILE
  22. ;    DISK DOWNLOAD
  23. ;    DISK EXECUTE
  24. ;    DISK UPLOAD
  25. ;    ECHO
  26. ;    EXTERN
  27. ;    FASTNET GETFILE
  28. ;    GOTO
  29. ;    HANGUP
  30. ;    IF
  31. ;    LOGOUT        <-- Option /FAST muss unterstuetzt werden !
  32. ;    ON ERROR
  33. ;    ON HANGUP
  34. ;    ZCONNECT GETFILE
  35. ;    ZCONNECT MAKEFILE
  36. ;    WAIT
  37. ;
  38. ;    Folgende Amiga-Dos-Befehle werden benutzt :
  39. ;
  40. ;    COPY
  41. ;    DELETE
  42. ;    LIST
  43. ;    SORT
  44. ;
  45. ;    Einrichtung eines Netcalls fuer eine Netzbox (Node) :
  46. ;    USERNAME : Name der anrufenden Node (z.B. TBA)
  47. ;    STRASSE  : @NETCALL
  48. ;    STADT     : Name der Domain (z.B. Fastnet.de)
  49. ;
  50. ;    Einrichtung eines LocalGates fuer die Einbindung eines anderen
  51. ;    lokalen Netzwerks :
  52. ;    USERNAME : Name der anrufenden Node (z.B. TBA)
  53. ;    VORNAME  : Gatename im Fastnet (z.B. Z-Netz)
  54. ;    STRASSE  : @LOCALGATE
  55. ;    STADT     : Name der Domain (z.B. Z-Netz.de)
  56. ;
  57. ;    Einrichtung eines Gates fuer die Einbindung eines anderen
  58. ;    globalen Netzwerks :
  59. ;    USERNAME : Name der anrufenden Node (z.B. TBA)
  60. ;    VORNAME  : Gatename im Fastnet (z.B. Z-Netz)
  61. ;    NACHNAME : Gatename im Zerberus-Netz (z.B. Fastnet)
  62. ;    STRASSE  : @GATE
  63. ;    STADT     : Name der Domain (z.B. Z-Netz.de)
  64. ;
  65. ;
  66. ;    Konstanten :
  67. ;
  68. TMPDIR    = "mbmsg:point/'{port}'/"        ; Dir fuer Tmp-Files
  69. EXPORTDIR = "mbnet:Export/"            ; Export-Directory
  70. EXFTABDIR = "mbnet:ExportFTab/"            ; Export-FTab-Directory
  71. MAXMSGLEN = 2000                ; Max. Laenge der Msgs in KByte
  72. MAXPMLEN  = 2000                ; Max. Laenge der PMs in KByte
  73. MSGFILE   = "'{CALLS}'.BRT"            ; Oeff. Nachrichten
  74. PMFILE    = "'{CALLS}'.PRV"            ; Private Nachrichten
  75. MSGNRFILE = "msgnr"                ; File fuer Msg-Nummern
  76. PMNRFILE  = "pmnr"                ; File fuer PM-Nummern
  77. COPYFILE  = "'{NAME}'@ZC.lha"            ; Vorgabefile (Pack-Event)
  78. COPYMSGNR = "'{NAME}'@ZC.msgnr"            ; File fuer Msg-Nummern
  79. COPYPMNR  = "'{NAME}'@ZC.pmnr"            ; File fuer PM-Nummern
  80. PCKFILE   = "called.lzh"            ; Name des gepackten Files
  81. PACKER    = "lha -P-1 m ""'TMPDIR''PCKFILE'"" ""'TMPDIR''PMFILE'"" ""'TMPDIR''MSGFILE'"""
  82.                         ; Packen
  83.  
  84. ;
  85. ;    Domainname holen
  86. ;
  87. _on error ERROR                    ; Im Fehlerfall ...
  88. DOMAIN={CITY}                    ; Domainname holen
  89.  
  90. ;
  91. ;    Pruefe auf normalen Netcall
  92. ;
  93.  
  94. _if {STREET} != "@NETCALL" then _goto LOCALGATE
  95. FIL=1+4+16+32+64
  96. OP_MAKEPM="/Type=0/Filter='FIL'"
  97. FIL=2+8+16+32+64
  98. OP_MAKEMSG="/Type=0/Filter='FIL'"
  99. _goto START
  100.  
  101. ;
  102. ;    Pruefe auf LocalGate
  103. ;
  104. LOCALGATE:
  105. _if {STREET} != "@LOCALGATE" then _goto GATE
  106. FIL=1+4+16+32+64
  107. OP_MAKEPM="/Type=2/Filter='FIL'"
  108. FIL=2+8+16+32+64
  109. OP_MAKEMSG="/Type=2/Filter='FIL'"
  110. _goto START
  111.  
  112. ;
  113. ;    Pruefe auf Gate
  114. ;
  115. GATE:
  116. _if {STREET} != "@GATE" then _goto USERPOINT
  117. FIL=1+4+16+32+64
  118. OP_MAKEPM="/Type=1/Filter='FIL'"
  119. FIL=2+8+16+32+64
  120. OP_MAKEMSG="/Type=1/Filter='FIL'"
  121. _goto START
  122.  
  123. ;
  124. ;    User-Point
  125. ;
  126. USERPOINT:
  127. FIL=1+4+16+32+64
  128. OP_MAKEPM="/Type=3/Filter='FIL'"
  129. FIL=2+4+8+16+32+64
  130. OP_MAKEMSG="/Type=3/Filter='FIL'"
  131. DOMAIN="ZER"                    ; Domain ZER setzen
  132.  
  133. ;
  134. ;    Texte laden
  135. ;
  136. START:
  137. _gosub LOADTEXT                    ; Texte laden
  138.  
  139. ;
  140. ;    Starttext ausgeben
  141. ;
  142.  
  143. _echo STARTTEXT
  144.  
  145. ;
  146. ;    Filebrett-Konverter-Files einbinden
  147. ;
  148.  
  149. _check file "'EXFTABDIR''{NAME}'" NOEXPORTCVT
  150. OP_MAKEMSG="'OP_MAKEMSG'/FBoardlist=""'EXFTABDIR''{NAME}'"""
  151. NOEXPORTCVT:
  152.  
  153. ;
  154. ;    Loesche alte Files / Rename, wenn File immer noch geoeffnet
  155. ;
  156.  
  157. _if TMPDIR != "" then _extern/q delete "'TMPDIR'#?"
  158. _extern/q rename "'TMPDIR''PCKFILE'" "'TMPDIR''PCKFILE''{CALLNR}'"
  159.  
  160. ;
  161. ;    Neue Nachrichten fuer andere Box sammeln & packen
  162. ;
  163.  
  164. COPYSTAT=0                    ; Kopier-Status auf FALSE
  165. _check file "'EXPORTDIR''COPYPMNR'" EXPORT    ; Existiert Sendefile ?
  166. _echo "'COPYTEXT'"                ; Status-Meldung ausgeben
  167. _extern/q copy "'EXPORTDIR''COPYFILE'" "'TMPDIR''PCKFILE'"    ; Ja, vorgepackte
  168. _extern/q copy "'EXPORTDIR''COPYMSGNR'" "'TMPDIR''MSGNRFILE'" ; Files benutzen
  169. _extern/q copy "'EXPORTDIR''COPYPMNR'" "'TMPDIR''PMNRFILE'"
  170. _check file "'TMPDIR''PMNRFILE'" DELETE        ; Alle Daten korrekt kopiert ?
  171. _check file "'TMPDIR''MSGNRFILE'" DELETE    ; Wenn Nein, verzw.
  172. _check file "'TMPDIR''PCKNRFILE'" DELETE
  173. COPYSTAT=1                    ; Kopier-Status auf TRUE
  174. _goto QUESTION                    ; Ja -> Abfrage
  175.  
  176. ;    Schon kopierte Daten aus TMP-Directory loeschen
  177.  
  178. DELETE:
  179. _if TMPDIR != "" then _extern/q delete "'TMPDIR'#?" ; Nein, kopierte Daten loeschen
  180.  
  181.  
  182. ;    PMs und Messages exportieren
  183.  
  184. EXPORT:
  185. _echo/NOLF "'EXPORTTEXT'"            ; Status-Meldung ausgeben
  186. _on error/ignore                
  187. _zconnect makefile'OP_MAKEPM' "'TMPDIR''PMFILE'" 'MAXPMLEN' "'TMPDIR''PMNRFILE'" "'DOMAIN'"
  188. _zconnect makefile'OP_MAKEMSG' "'TMPDIR''MSGFILE'" 'MAXMSGLEN' "'TMPDIR''MSGNRFILE'" "'DOMAIN'"
  189. _on error ERROR
  190.  
  191. ;    Messages packen
  192.  
  193. _echo/NOLF "'PACKTEXT'"                ; Status-Meldung ausgeben
  194. _extern/q 'PACKER'
  195. _echo "'PACKENDTEXT'"                ; Status-Meldung ausgeben
  196.  
  197. ;
  198. ;    Frage: Welche Messages exportieren & packen ?
  199. ;
  200. QUESTION:
  201. _menu MENUTEXT -
  202.  KEY_DOWN DOWNLOAD -
  203.  KEY_ABORT ABORT
  204.  
  205. ;
  206. ;       Gepacktes File Downloaden
  207. ;
  208. DOWNLOAD:
  209. _on error/ignore
  210. _disk download "'TMPDIR''PCKFILE'"
  211. _on error ERROR
  212.  
  213. ;
  214. ;    Download wiederholen ?
  215. ;
  216. _menu RETRYTEXT -
  217.  KEY_RETRY DOWNLOAD -
  218.  KEY_OK OK
  219.  
  220. ;
  221. ;    Gesendete Nachrichten als gelesen markieren ?
  222. ;
  223. OK:
  224. _menu MARKTEXT -
  225.  KEY_MARKMSGS SETNR -
  226.  KEY_UNMARK END
  227.  
  228. ;
  229. ;    Geschickte Messages und PMs als gelesen markieren
  230. ;
  231. SETNR:
  232. _zconnect makefile/setnr "'TMPDIR''MSGNRFILE'"    ; Gezogene Msgs = alte Msgs
  233. _zconnect makefile/setnr "'TMPDIR''PMNRFILE'"    ; Gezogene PMs = alte PMs
  234.  
  235. ;
  236. ;    Wenn Files vorgepackt abgeholt, dann vorgepackte Daten loeschen
  237. ;
  238.  
  239. _if/i COPYSTAT == 1 then _extern/q delete "'EXPORTDIR''COPYPMNR'" "'EXPORTDIR''COPYFILE'" "'EXPORTDIR''COPYMSGNR'"
  240.  
  241. ;
  242. ;       Ende
  243. ;
  244. END:
  245. _if TMPDIR != "" then _extern/q delete "'TMPDIR'#?"    ; Disk aufraeumen
  246. _eod
  247.  
  248. ;
  249. ;       Wenn Abbruch oder Fehler
  250. ;
  251. ERROR:
  252. _echo ERRORTEXT
  253. ABORT:
  254. _if TMPDIR != "" then _extern/q delete "'TMPDIR'#?"
  255. _eod
  256.  
  257. ;
  258. ; Unterroutine: Lade sprachspezifische Texte
  259. ;
  260. LOADTEXT:
  261. LANG={DEFLANGUAGE}
  262. _check file "mbbatch:com/'{ALANGUAGE}'/zconnect_download.bat" GETTEXT
  263. LANG={ALANGUAGE}
  264. GETTEXT:
  265. _disk execute/keep "mbbatch:com/'LANG'/zconnect_download.bat"
  266. _return
  267.